package com.site.wisdom_construction.dao.statisticsModule;

import com.site.wisdom_construction.statisticsResult.ContractWorkersByAgeBracket;
import com.site.wisdom_construction.statisticsResult.ContractWorkersByTypeName;

import java.util.List;
import java.util.Map;

/**
 * @Author daiyifei
 * @Date 2022/1/24
 * @Description
 */
public interface StatisticsPersonDao {
    /** 统计总进场劳务人员总数 */
    Integer countWorkerAll(Map map);

    /** 统计在场劳务人员总数 */
    Integer countWorkerBySceneStatus(Map map);

    /** 统计在场劳务人员总数 */
    Integer countManagerialStaffStatus(Map map);

    /** 统计已培训劳务人员总数 */
    Integer countWorkerByTrainStatus(Map map);

    /** 按照年龄段统计劳务人员数据 */
    List<ContractWorkersByAgeBracket> countByAgeBracket(Map map);

    /** 根据劳务队统计劳务人员数据 */
    List<ContractWorkersByTypeName> countBySubcontractorsName(Map map);

    /** 根据工种统计劳务人员数据 */
    List<ContractWorkersByTypeName> countByProfessionName(Map map);

    /** 根据区域统计劳务人员数据 */
    List<ContractWorkersByTypeName> countByWorkerProvince(Map map);

    /** 根据性别统计劳务人员数据 */
    List<ContractWorkersByTypeName> countByWorkerSex(Map map);

    /** 根据名族统计劳务人员数据 */
    List<ContractWorkersByTypeName> countByWorkerNation(Map map);

    /** 统计在场劳务队总数 */
    Integer countLabourEnterpriseByStatus(Map map);
}
